package com.smedi.ismedi.progress.core.application.service;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.smedi.ismedi.progress.core.application.command.ConstructionLogDetailQuery;
import com.smedi.ismedi.progress.core.application.command.ConstructionLogDownloadQuery;
import com.smedi.ismedi.progress.core.application.command.ConstructionLogListQuery;
import com.smedi.ismedi.progress.core.application.command.ConstructionLogSaveAndDraft;
import com.smedi.ismedi.progress.core.domain.aggregatemodel.ConstructionLog;
import com.smedi.ismedi.progress.core.domain.aggregatemodel.ConstructionLogDetail;
import org.springframework.http.ResponseEntity;

import java.io.IOException;

/**
 * 进度管理应用服务接口
 *
 * @author pengyan
 * @date 2022/09/19
 */
public interface ConstructionLogApplicationService {

    String monthWeekConstructionSaveDraftAndRelease(ConstructionLogSaveAndDraft constructionLogSaveAndDraft);

    /**
    *  施工日志导出
    * @param constructionLogDetailQuery
    * @return org.springframework.http.ResponseEntity<byte[]>
    * @date 2022/11/23 14:19
    */
    ResponseEntity<byte[]> constructionLogExport(ConstructionLogDetailQuery constructionLogDetailQuery) throws IOException;
    /**
    * 查询详情
    * @param constructionLogDetailQuery
    * @return com.smedi.ismedi.progress.core.domain.aggregatemodel.ConstructionLogDetail
    * @date 2022/11/23 14:23
    */
    ConstructionLogDetail getConstructionLogDetail(ConstructionLogDetailQuery constructionLogDetailQuery);

    ConstructionLog getConstructionLogAPPList(ConstructionLogListQuery constructionLogListQuery);

    /**
    * 下载附件
    * @param constructionLogDownloadQuery
    * @return org.springframework.http.ResponseEntity<byte[]>
    * @date 2022/11/24 17:47
    */
    ResponseEntity<byte[]> downloadBySignKeys(ConstructionLogDownloadQuery constructionLogDownloadQuery);

    /**
     * 生成消息
     * @return
     */
    Boolean constructionLogDealt();
}